/**
 * Created by lixiaodi on 2019/05/06 0027.
 */
mini.parse();

//得到元素
var form = new mini.Form("form1");
var fieldEn = mini.get("fieldEnName");
var typeCombox = mini.get("typeValue");

//全局变量

var tnChange = true;		//字段校验信号量
var saveDataArr = [];
var parClassName = '';		//主表名称（英文）	
var parTableClId = '';		//主表ID
var childTableId = '';		//新建成功以后的子表id
var defaultField = '';		//系统字段
var tableId = '';			//表ID
var tableName = '';			//表名（英文）
var fieldNum;				//字段编号
//页面初始化
$(function(){
	//得到系统当前的时间
	var nowDate = new Date();
	//格式化时间
	nowDate = formatDate(nowDate);
})

//编辑/新增
function SetData(data) {
	//编辑
    if (data.action == "edit") {
        
    //新增
    }else if(data.action == "new"){
    	//跨页面传递的数据对象，克隆后才可以安全使用
        data = mini.clone(data);
        defaultField = data.defaultField;		//字段
        tableId = data.tableClassId;			//表ID(校验字段重复用)
        tableName = data.tableClassName;		//表名
        fieldNum = data.fieldNum;				//字段编号
        //新增时赋值（系统赋值,可修改）
        fieldEn.setValue(defaultField);
        
//        console.log(fieldNum,'默认生成字段的序号');
//		//生成默认字段
//		fieldNum++;
//		console.log(fieldNum,'add默认生成字段的序号');
//		var newField = "xgry_"+(Array(4).join('0') + fieldNum).slice(-4);
//        console.log(newField);
        
        
    }
}
//保存
function SaveData(action) {
	//验证
	form.validate();
    if (form.isValid() == false) return;
    //得到数据
    var ids = form.getData();
    console.log(ids,'保存时得到数据');
    var addFieldObj = {
            tableName : tableName,
            //tableName : 'task01',
            field : ids.field,
            fieldCh : ids.fieldCh,
            type : ids.type,
            notNull : ids.notNull,
            state: '0'
    }
    var jsonString = JSON.stringify(addFieldObj);
    $.ajax({
    	url: ajaxUrl + "/sqlAction/createFile.do",
    	//url: "http://192.168.31.65:8080/bpm/Base/insertField.do",
    	type : "POST",
    	contentType : "application/json",
    	data: jsonString,
    	success: function (data) {
    	    console.log(typeof data);
    		//将保存成功的数据存储
    		saveDataArr.push(addFieldObj);
    		var data=JSON.parse(data);
    		console.log(typeof data);
    		//成功校验
    		if(data.state == 'success'){
    			if(action == 'save'){

    				CloseWindow('save');

    			}else{
                    //成功提示
                    mini.alert(data.message);
    				showTips();
            		//保存成功以后表单清空
            		form.setData({});
            		//生成默认字段
            		fieldNum++;
            		var newField = "xgry_"+(Array(4).join('0') + fieldNum).slice(-4);
            		//新增时赋值（系统赋值,可修改）
                    fieldEn.setValue(newField);
    			}
    			
    		}else{
    			mini.alert(data.data);
    		}
    	},
    	error: function (data) {
    		console.log('请求失败');
    	}
    }); 
}
//向父页面传值
function GetData() {
    return saveDataArr;
}

//校验模块必输
function onNotSpaceValidation(e) {
    if (e.isValid) {
        if (!e.value) {
            e.errorText = "不能为空";
            e.isValid = false;
        }
    }
}
//下拉框必须校验
function onNotSpace(){
	var typeValue = typeCombox.getValue();
}
//当鼠标失去焦点的时候校验字段名
function findByFieldClassName(e){
    //得到输入的英文表名
    var fieldValue = fieldEn.getValue();
    var fieldObj = {
    		tableClassId: tableId,
        	field: fieldValue
    };
    var fieldString = JSON.stringify(fieldObj);
    if(fieldValue){
        var regs = /^[\w\_]*$/;     //只能是数字和字母和下划线
        var reg = /^[0-9]*$/;       //纯数字
        if(regs.test(fieldValue)){
            if(!reg.test(fieldValue)){
            	//加密
            	fieldString = encrypt(fieldString);
                //如果不是数字也不是空，校验与数据库表名是否重复
                $.ajax({
                    url : ajaxUrl + "/classTable/countFile.do",
                    //url : "http://192.168.11.160:8080/bpm/classTable/countFile.do",
                    type : "POST",
                    contentType : "application/json",
                    data: fieldString,
                    success : function(data){
                    	data = data.data;
                    	//解密
                    	data = decrypt(data);
                        var allTables = JSON.parse(data);
                        if(allTables.state == 'error'){
                        	//信号量改变
                        	tnChange = false;
                        	mini.alert(allTables.message);
                        	return false;
                        }else{
                        	
                        }
                        
//                        for(var i = 0; i < allTables.length; i++){
//                            if(fieldValue == allTables[i].tableClassName){
//                            	//信号量改变
//                                tnChange = false;
//                                mini.alert("字段(英文)重复，请重新填写");
//                                return false;
//                            }
//                        }
                    }
                });
            }else{
            	//信号量改变
                tnChange = false;
                mini.alert("字段(英文)不能为纯数字");
                return false;
            }
        }else{
        	//信号量改变
            tnChange = false;
            mini.alert("字段(英文)只能为字母，数字和下划线");
            return false;
        }
    }else{
    	//信号量改变
        tnChange = false;
        mini.alert("字段(英文)不能为空");
        return false;
    }
}
//建立表关系
function creatRelation(childsString){
	$.ajax({
	url : ajaxUrl + "/Base/createMTableKey.do",
    type : "POST",
    data : {
        jsonToString : childsString
    },
    success : function(data){
       console.log('建立表关系');
    },
    error : function(data){
        console.log(data);
    }    
 });
}
//关闭子页面
function CloseWindow(action) {
    if (action == "close" && form.isChanged()) {
        if (confirm("数据被修改了，是否先保存？")) {
            return false;
        }
    }
    if (window.CloseOwnerWindow) return window.CloseOwnerWindow(action);
    else window.close();
}
function onOk(e) {
    SaveData('save');
}
function onCancel(e) {
    CloseWindow("cancel");
}
//提示信息
function showTips() {
    mini.showTips({
        content: "新增成功",
        state: "success",
        x: "center",
        y: "center",
        timeout: 1000
    });
}